Priority Queues Resilient to Memory Faults
نویسندگان
چکیده
In the faulty-memory RAM model, the content of memory cells can get corrupted at any time during the execution of an algorithm, and a constant number of uncorruptible registers are available. A resilient data structure in this model works correctly on the set of uncorrupted values. In this paper we introduce a resilient priority queue. The deletemin operation of a resilient priority queue returns either the minimum uncorrupted element or some corrupted element. Our resilient priority queue uses O(n) space to store n elements. Both insert and deletemin operations are performed in O(log n+ δ) time amortized, where δ is the maximum amount of corruptions tolerated. Our priority queue matches the performance of classical optimal priority queues in the RAM model when the number of corruptions tolerated is O(log n). We prove matching worst case lower bounds for resilient priority queues storing only structural information in the uncorruptible registers between operations.
منابع مشابه
Exploiting non-constant safe memory in resilient algorithms and data structures
We extend the Faulty RAM model by Italiano and Finocchi (2008) by adding a safe memory of arbitrary size S, and we then derive tradeoffs between the performance of resilient algorithmic techniques and the size of the safe memory. In particular, we describe a resilient algorithm for sorting n entries in O (n logn+ α(δ/S + logS)) time using Θ (S) safe memory locations, where α ≤ δ denotes the act...
متن کاملFault Tolerant External Memory Algorithms
Algorithms dealing with massive data sets are usually designed for I/O-efficiency, often captured by the I/O model by Aggarwal and Vitter. Another aspect of dealing with massive data is how to deal with memory faults, e.g. captured by the adversary based faulty memory RAM by Finocchi and Italiano. However, current fault tolerant algorithms do not scale beyond the internal memory. In this paper ...
متن کاملExperimental Study of High Performance Priority Queues
The priority queue is a very important and widely used data structure in computer science, with a variety of applications including Dijkstra’s Single Source Shortest Path algorithm on sparse graph types. This study presents the experimental results of a variety of priority queues. The focus of the experiments is to measure the speed and performance of highly specialized priority queues in out-o...
متن کاملPriority Scheduling and Buffer Management for ATM Traffic Shaping
The impact of buffer management and priority scheduling is examined in stressful scenarios when the aggregate incoming traffic is higher than the output link capacity of an Asynchronous Transfer Mode (ATM) traffic shaper. To simultaneously reduce cell loss and extreme delay behavior for two or more classes of service, we show that a dynamic priority scheme is required. We propose a scheduling a...
متن کاملRandomized Priority Queues for Fast Parallel Access
We present simple randomized algorithms for parallel priority queues on distributed memory machines. Inserting O(n) elements or deleting the O(n) out of m smallest elements using n pocessors requires O (
متن کامل